﻿using System;
using System.Windows.Input;

namespace Gencode.VECore.Tools
{
	/// <summary>
	/// Base class for all tools
	/// </summary>
	public abstract class VectorTool
	{
		/// <summary>
		/// Left mouse button is pressed
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		public virtual void OnMouseLeftButtonDown(CanvasDocument sender, MouseButtonEventArgs e)
		{
		}

		/// <summary>
		/// Left mouse button is released
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
        public virtual void OnMouseLeftButtonUp(CanvasDocument sender, MouseButtonEventArgs e)
		{
		}

        /// <summary>
        /// Right mouse button is released
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void OnMouseRightButtonUp(CanvasDocument sender, MouseButtonEventArgs e)
        {
        }

		/// <summary>
		/// Mouse is moved, left mouse button is pressed or none button is pressed
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
        public virtual void OnMouseMove(CanvasDocument sender, MouseEventArgs e)
		{
		}
	}
}
